
using System;

namespace Core.Function
{
    public abstract class IGameFuncRegister
    {
        public long FuncID;
        public string FuncName;

        /// <summary>
        /// 功能注册
        /// </summary>
        public abstract void Register();

        /// <summary>
        /// 功能注册取消
        /// </summary>
        public abstract void Unregister();
    }

    [AttributeUsage(AttributeTargets.Class)]
    public class IGameFuncRegisterAttribute : Attribute
    {
        public long FuncID;
        public string FuncName;

        public IGameFuncRegisterAttribute(string FuncName)
        {
            this.FuncName = FuncName;
        }

        public IGameFuncRegisterAttribute(long FuncID)
        {
            this.FuncID = FuncID;
        }

    }

}